<?php

namespace Syrius\Type;


/**
 * Classe astratta che rappresenta i tipi string e le varie derivazioni
 * @package	Type
 * @author	Domenico Biancardi <domenico.biancardi@gmail.com>
 * @link	http://code.google.com/p/syrius/
 *
 */ abstract class String extends Type {
	/**
	 * Il tipo di dato string non permette di gestire i valori auto_increment
	 */
	public function __construct($opts) {
		parent::__construct($opts);
		$this->auto_increment = false;
	}

	/**
	 * Ritorna il valore che verrà inserito a database
	 */
	public function _toDb($input) {
        echo "STRING TODB";
        $firstChar = substr($input, 0, 1);
		$lastChar = substr($input, strlen($input) - 1, 1);
		if ($firstChar == '"' && $lastChar == '"')
			return $input;
		return '"' . addslashes($input) . '"';
	}

}

?>
